// middleware/validation.js
const { validationResult } = require('express-validator');

exports.validate = (req, res, next) => {
  // 提取请求中的验证错误
  const errors = validationResult(req);
  if (!errors.isEmpty()) {
    // 格式化错误信息（字段名 + 错误提示）
    const extractedErrors = errors.array().map(err => ({
      field: err.path,       // 错误字段（如 username、email）
      message: err.msg       // 错误提示（如“用户名长度必须3-50字符”）
    }));
    // 返回400错误及格式化信息
    return res.status(400).json({
      success: false,
      message: '数据验证失败',
      errors: extractedErrors
    });
  }
  // 验证通过，进入下一个中间件/控制器
  next();
};